package com.sinopec.pi.scalaguide.function

/**
 * 高阶函数。使用函数作为参数或者作为返回值。
 */
object HigherOrderFunction {
    def main(args: Array[String]): Unit = {
        val salaries = Seq(20000, 70000, 40000)
        // doubleSalary 是一个函数，它接受一个 Int，x，并返回 x * 2
        val doubleSalary = (x: Int) => x * 2
        // map 接收 函数作为参数
        val newSalaries = salaries.map(doubleSalary) // List(40000, 140000, 80000)
        // 等价于 salaries.map(x => x * 2)
    }
}
